function minimumArea(grid) {
  // 获取矩阵的行数和列数
  const rows = grid.length;
  const cols = grid[0].length;

  // 初始化边界值
  let minRow = rows; // 初始化为一个比最大行索引大的值
  let maxRow = -1; // 初始化为一个比最小行索引小的值
  let minCol = cols; // 初始化为一个比最大列索引大的值
  let maxCol = -1; // 初始化为一个比最小列索引小的值

  // 遍历整个矩阵，找到所有1的边界
  for (let i = 0; i < rows; i++) {
    for (let j = 0; j < cols; j++) {
      if (grid[i][j] === 1) {
        // 更新最小行和最大行
        minRow = Math.min(minRow, i);
        maxRow = Math.max(maxRow, i);
        // 更新最小列和最大列
        minCol = Math.min(minCol, j);
        maxCol = Math.max(maxCol, j);
      }
    }
  }

  // 计算矩形的宽度和高度
  const width = maxCol - minCol + 1;
  const height = maxRow - minRow + 1;

  // 返回面积
  return width * height;
}

// 测试案例
console.log(
  minimumArea([
    [0, 1, 0],
    [1, 0, 1],
  ])
); // 输出: 6
console.log(
  minimumArea([
    [0, 0],
    [1, 0],
  ])
); // 输出: 1
